<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>字符串</title>
  </head>
  <body>
    <script>
      // 1. 封装一个函数实现字符串翻转。

      function reverseStr(str){
        return str.split("").reverse().join("");
      }
     
    

      // 2. 字符串 digite = "0123456789", 把后 5 个字符分割出来， 返回个单字符的数组, 注意， 返回数组里面的数字是字符串类型
      //期望结果:['5', '6', '7', '8', '9']

      var digite = '0123456789';
      digite.slice(5).split("");
      console.log(digite.slice(5).split(""));

      // 3.已知有字符串 foo=”get-element-by-id”,写一个 function 将其转化成驼峰表示法”getElementById”.

      var str="get-element-by-id"

      for (var i=0;i<str.length;i++){

        if(str[i]==="-"){
          str = str.replace(str[i]+str[i+1],str[i+1].toUpperCase());
        }
      }
      console.log(str);//getElementById

      var newStr = '';
      str.split("-").forEach(function(item,index){
        index>0 ? (newStr += item.replace(item[0],item[0].toUpperCase())):(newStr = item);
      });
      console.log(newStr);
      console.log(str.split("-"));

      // 4.定义一个函数,将"今天是什么鬼天气，这么热，明天要去游泳！"里面所有的"天"的下标输出
      var str = "今天是什么鬼天气，这么热，明天要去游泳！";
      for(var i=0;i<str.length;i++){
        var index = str.indexOf("天",i);
        if(index >=0){
          console.log(index);
          i=index;
        }
      }

      // 5.定义一个函数,将"今天是什么鬼天气，这么热，明天要去游泳！"里面的所有"天"替换成"日"

      // 6.解析 URL Params 为对象，例如(https://www.baidu.com/s?ie=UTF-8&wd=letcode)得到{ie: 'UTF-8', wd: 'letcode', url: 'https://www.baidu.com/s'}
      var url = "https://www.baidu.com/s?ie=UTF-8&wd=letcode";

      var obj = {};
      var urlA=url.split("?")[0];
      console.log(urlA);
      var urlB=url.split("?")[1];
      urlB.split("&").forEach(function (item){

        console.log(item.split("="));
        obj[item.split("=")[0]]=item.split("=")[1];

      });
      obj.url=urlA;
      console.log(obj);




      // 7.查找字符串中(abbcccddddd)出现最多的字符和个数(Tips:要先统计每个字符出现的次数)
      var str ="abbcccddddd";
      var obj = str.split("").reduce(function (prev,item){
        prev[item]=prev[item]+1||1;
        return prev;
      },{});
      console.log(obj);//计算出了每个字符出现的次数
      var max =0;//最大的次数
      var maxChar;//最大的次数的字符
      for (var k in obj){

        obj[k]>max?(max=obj[k]):0;
        maxChar=k;
      }
      console.log(`${maxChar}出现次数最多，出现了${max}次`);

    </script>
  </body>
</html>
